<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<!-- 封装一个函数，传入一个对象，函数内部对象和传入的对象进行属性的合并，新的属性函数对象里就加入，同名的属性就进行值的覆盖 -->

    <script>
        //  （  自己封装的   ）
            // function fn(obj){
            //      let obj1={name:'马英鹏',a:4,age:90}
            //      for(var key in obj){
            //         for (key1 in obj1){
            //             if(key!==key1){
            //                obj1[key]=obj[key]
            //                console.log(key,key1,'===============');
            //             }else if(key==key1){
            //                 obj1[key]=obj[key]
            //                 console.log(key,key1,'66');
            //             }
            //         }
            //      }
                     
            //     let data=obj1
            //     console.log(data);
            // }
            // fn({age:18,name:'鹏'})
        //-----------------------------------------------------------
// ==========================================  
// 自带的api   应用场景，封装网络请求    
// 默认的请求头，和传入的请求头并入和传入同名字段值覆盖默认值
             function  fn(obj){
                    let old_obj={
                        name:'myp',
                        age:18
                    }
                let obj1=Object.assign(old_obj,obj)
                return obj1
             }

             console.log(fn({name:'马英鹏',sex:'男'}));
    </script>
</body>
</html>